package com.rlovep.pool; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; import org.junit.Test; /** * * @ClassName: DbcpPool * @Description: 测试dbcp连接池技术 * @author peace w_peace@163.com * @date 15 Nov 2015 6:00:17 pm * */ public class DbcpPool { @Test public void testDbcp(){ //Dbcp连接池核心类 BasicDataSource dataSource=new BasicDataSource(); //连接池参数配置:初始化连接数、最大连接数 / 连接字符串、驱动、用户、密码 dataSource.setUrl("jdbc:mysql://localhost:3306/day01?useUnicode=true&characterEncoding=UTF8"); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUsername("root"); dataSource.setPassword("126165"); dataSource.setInitialSize(3); // 初始化连接 dataSource.setMaxActive(6); // 最大连接 dataSource.setMaxIdle(3000); // 最大空闲时间 try { //获取连接 Connection connection = dataSource.getConnection(); //关闭 connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test // 2. 【推荐】配置方式实现连接池 , 便于维护 public void testProp() throws Exception { // 加载prop配置文件 Properties prop = new Properties(); // 获取文件流 InputStream inStream = DbcpPool.class.getResourceAsStream("/db.properties"); // 加载属性配置文件 prop.load(inStream); // 根据prop配置,直接创建数据源对象 DataSource dataSouce = BasicDataSourceFactory.createDataSource(prop); // 获取连接 Connection con = dataSouce.getConnection(); con.prepareStatement("delete from admin where sid=4").executeUpdate(); // 关闭 con.close(); } }